package com.mmy.dao.bidtender;

import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import com.mmy.domain.bidtender.VBidTender;

public interface VBidTenderRepository extends JpaRepository<VBidTender, Integer> {
	/**
	 * 个人中心通过创建人查找投标信息
	 *
	 * @author 创建人 hanxl 整理
	 * @date 创建日期 2020.10.29
	 */
	@Query(value = "select * from vBidTender where cCreator=?1  and cSpare1=?2 order by dOutDate desc limit ?3,?4", nativeQuery = true)
	List<VBidTender> findByCreator(String strUserName, int iOrgID, int iTempPageNo, int iPageSize);

	/**
	 * 个人中心通过登录人获取招标信信息 获取分页
	 *
	 * @author 创建人 hanxl 整理
	 * @date 创建日期 2020.10.29
	 */
	@Query(value = "select count(*)  from vBidTender where cCreator=?1  and cSpare1=?2 order by dOutDate desc", nativeQuery = true)
	int countByCreator(String strUserName, int iOrgID);

	/**
	 * 前台通过投标ID查询投标信息
	 *
	 * @author 创建人 hanxl 整理
	 * @date 创建日期 2020.10.29
	 */
	@Query(value = "select * from vBidTender where iTenderID=?1", nativeQuery = true)
	VBidTender findByTenderID(int iTenderID);

	/**
	 * 后台通过招标选择后获得该招标的投标信息
	 *
	 * @author 创建人 hanxl 整理
	 * @date 创建日期 2020.10.29
	 */
	@Query(value = "select * from vBidTender where  iInviteID=:iInviteID and iState>0 order by dOutDate desc", nativeQuery = true)
	List<VBidTender> findByInviteID(@Param("iInviteID") int iInviteID);

	
	/**
	 * 函数功能说明： 前台查看选择的招标所对应的该登陆人公司的所有的投标信息表
	 *
	 * @param 参数说明 tBidTender
	 * @return 返回值说明 jsp页面
	 * @throws 异常处理说明
	 * @author 创建人 hanxl
	 * @date 创建日期 2020.12.10
	 */
	@Query(value = "select * from vBidTender where iInviteID=?1  and iOrgID =?2   order by dOutDate desc", nativeQuery = true)
	List<VBidTender> findByInviteIDAndOrgID(int iInviteID, int iOrgID);

	/**
	 * 后台通过招标选择后获得该招标的投标信息
	 *
	 * @author 创建人 hanxl 整理
	 * @date 创建日期 2020.10.29
	 */
	@Query(value = "select * from vBidTender where  iInviteID=:iInviteID and iState>0 and (:strOrgID = \"\" or iOrgID = :strOrgID)  order by dOutDate desc limit :startIndex,:count", nativeQuery = true)
	List<VBidTender> findByOrgID(@Param("strOrgID") String strOrgID,@Param("iInviteID") int iInviteID,@Param("startIndex") int startIndex,@Param("count") int count);
	/**
	 * 后台通过招标选择后获得该招标的投标信息
	 *
	 * @author 创建人 hanxl 整理
	 * @date 创建日期 2020.10.29
	 */
	@Query(value = "select count(*) from vBidTender where  iInviteID=:iInviteID and iState>0 and (:strOrgID = \"\" or iOrgID = :strOrgID)   order by dOutDate desc ", nativeQuery = true)
	int queryTenderCount(@Param("strOrgID") String strOrgID,@Param("iInviteID") int iInviteID);

}
